// let a = 10;
// test();
// function test() {
//   console.log(a);//10
//   if (a) {// let 有块级作用域 遇到{
//     let a = 20;
//     console.log(a);
//   }
//   console.log(a);//10
// }
//
//
// var x = 10;
//
// function fn() {
//   console.log(x)
//   var x = 30;
// }
// function show(f) {
//   var x = 20;//
//   f()
// }
//
// show(fn); // ?
// // 20
// // 10

// var fn = function () {
//   console.log(fn)
// };
// fn();
// var obj = {
//   a: 0,
//   fn2: function () {
//     console.log(this.fn2) // this.fn2
//   }
// };
// obj.fn2(); //  ?

//函数
//undefined

// 函数
// 打印对象属性

// 函数
// 未定义

// 函数
// 报错




// 预热一
// var a = 2;
// function fn() {
//   console.log(a)
//   var a = 3
// }
// fn(); // ?
//
// function fn2() {
//   console.log(a)
//   a = 3
// }
// fn2()
//
// // 预热二

// var b;
// function b() {
// }
//
// console.log(typeof b); //function undefined

// /*****************boss***********************/
// 变量提升
var c;
function c(c) {
  console.log(c);
  var c = 3
}

console.log(c); // 1
c(2); //

